{"ast":null,"code":"import _slicedToArray from \"/Users/poppie/Desktop/development/messenger/app/frontend/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport _defineProperty from \"/Users/poppie/Desktop/development/messenger/app/frontend/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nvar _excluded = [\"arrow\", \"children\", \"classes\", \"components\", \"componentsProps\", \"describeChild\", \"disableFocusListener\", \"disableHoverListener\", \"disableInteractive\", \"disableTouchListener\", \"enterDelay\", \"enterNextDelay\", \"enterTouchDelay\", \"followCursor\", \"id\", \"leaveDelay\", \"leaveTouchDelay\", \"onClose\", \"onOpen\", \"open\", \"placement\", \"PopperComponent\", \"PopperProps\", \"title\", \"TransitionComponent\", \"TransitionProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { elementAcceptingRef } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses, appendOwnerState } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled from '../styles/styled';\nimport useTheme from '../styles/useTheme';\nimport useThemeProps from '../styles/useThemeProps';\nimport capitalize from '../utils/capitalize';\nimport Grow from '../Grow';\nimport Popper from '../Popper';\nimport useEventCallback from '../utils/useEventCallback';\nimport useForkRef from '../utils/useForkRef';\nimport useId from '../utils/useId';\nimport useIsFocusVisible from '../utils/useIsFocusVisible';\nimport useControlled from '../utils/useControlled';\nimport tooltipClasses, { getTooltipUtilityClass } from './tooltipClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction round(value) {\n  return Math.round(value * 1e5) / 1e5;\n}\nvar useUtilityClasses = function useUtilityClasses(ownerState) {\n  var classes = ownerState.classes,\n    disableInteractive = ownerState.disableInteractive,\n    arrow = ownerState.arrow,\n    touch = ownerState.touch,\n    placement = ownerState.placement;\n  var slots = {\n    popper: ['popper', !disableInteractive && 'popperInteractive', arrow && 'popperArrow'],\n    tooltip: ['tooltip', arrow && 'tooltipArrow', touch && 'touch', \"tooltipPlacement\".concat(capitalize(placement.split('-')[0]))],\n    arrow: ['arrow']\n  };\n  return composeClasses(slots, getTooltipUtilityClass, classes);\n};\nvar TooltipPopper = styled(Popper, {\n  name: 'MuiTooltip',\n  slot: 'Popper',\n  overridesResolver: function overridesResolver(props, styles) {\n    var ownerState = props.ownerState;\n    return [styles.popper, !ownerState.disableInteractive && styles.popperInteractive, ownerState.arrow && styles.popperArrow, !ownerState.open && styles.popperClose];\n  }\n})(function (_ref2) {\n  var _ref3;\n  var theme = _ref2.theme,\n    ownerState = _ref2.ownerState,\n    open = _ref2.open;\n  return _extends({\n    zIndex: (theme.vars || theme).zIndex.tooltip,\n    pointerEvents: 'none'\n  }, !ownerState.disableInteractive && {\n    pointerEvents: 'auto'\n  }, !open && {\n    pointerEvents: 'none'\n  }, ownerState.arrow && (_ref3 = {}, _defineProperty(_ref3, \"&[data-popper-placement*=\\\"bottom\\\"] .\".concat(tooltipClasses.arrow), {\n    top: 0,\n    marginTop: '-0.71em',\n    '&::before': {\n      transformOrigin: '0 100%'\n    }\n  }), _defineProperty(_ref3, \"&[data-popper-placement*=\\\"top\\\"] .\".concat(tooltipClasses.arrow), {\n    bottom: 0,\n    marginBottom: '-0.71em',\n    '&::before': {\n      transformOrigin: '100% 0'\n    }\n  }), _defineProperty(_ref3, \"&[data-popper-placement*=\\\"right\\\"] .\".concat(tooltipClasses.arrow), _extends({}, !ownerState.isRtl ? {\n    left: 0,\n    marginLeft: '-0.71em'\n  } : {\n    right: 0,\n    marginRight: '-0.71em'\n  }, {\n    height: '1em',\n    width: '0.71em',\n    '&::before': {\n      transformOrigin: '100% 100%'\n    }\n  })), _defineProperty(_ref3, \"&[data-popper-placement*=\\\"left\\\"] .\".concat(tooltipClasses.arrow), _extends({}, !ownerState.isRtl ? {\n    right: 0,\n    marginRight: '-0.71em'\n  } : {\n    left: 0,\n    marginLeft: '-0.71em'\n  }, {\n    height: '1em',\n    width: '0.71em',\n    '&::before': {\n      transformOrigin: '0 0'\n    }\n  })), _ref3));\n});\nvar TooltipTooltip = styled('div', {\n  name: 'MuiTooltip',\n  slot: 'Tooltip',\n  overridesResolver: function overridesResolver(props, styles) {\n    var ownerState = props.ownerState;\n    return [styles.tooltip, ownerState.touch && styles.touch, ownerState.arrow && styles.tooltipArrow, styles[\"tooltipPlacement\".concat(capitalize(ownerState.placement.split('-')[0]))]];\n  }\n})(function (_ref4) {\n  var _extends2;\n  var theme = _ref4.theme,\n    ownerState = _ref4.ownerState;\n  return _extends({\n    backgroundColor: theme.vars ? theme.vars.palette.Tooltip.bg : alpha(theme.palette.grey[700], 0.92),\n    borderRadius: (theme.vars || theme).shape.borderRadius,\n    color: (theme.vars || theme).palette.common.white,\n    fontFamily: theme.typography.fontFamily,\n    padding: '4px 8px',\n    fontSize: theme.typography.pxToRem(11),\n    maxWidth: 300,\n    margin: 2,\n    wordWrap: 'break-word',\n    fontWeight: theme.typography.fontWeightMedium\n  }, ownerState.arrow && {\n    position: 'relative',\n    margin: 0\n  }, ownerState.touch && {\n    padding: '8px 16px',\n    fontSize: theme.typography.pxToRem(14),\n    lineHeight: \"\".concat(round(16 / 14), \"em\"),\n    fontWeight: theme.typography.fontWeightRegular\n  }, (_extends2 = {}, _defineProperty(_extends2, \".\".concat(tooltipClasses.popper, \"[data-popper-placement*=\\\"left\\\"] &\"), _extends({\n    transformOrigin: 'right center'\n  }, !ownerState.isRtl ? _extends({\n    marginRight: '14px'\n  }, ownerState.touch && {\n    marginRight: '24px'\n  }) : _extends({\n    marginLeft: '14px'\n  }, ownerState.touch && {\n    marginLeft: '24px'\n  }))), _defineProperty(_extends2, \".\".concat(tooltipClasses.popper, \"[data-popper-placement*=\\\"right\\\"] &\"), _extends({\n    transformOrigin: 'left center'\n  }, !ownerState.isRtl ? _extends({\n    marginLeft: '14px'\n  }, ownerState.touch && {\n    marginLeft: '24px'\n  }) : _extends({\n    marginRight: '14px'\n  }, ownerState.touch && {\n    marginRight: '24px'\n  }))), _defineProperty(_extends2, \".\".concat(tooltipClasses.popper, \"[data-popper-placement*=\\\"top\\\"] &\"), _extends({\n    transformOrigin: 'center bottom',\n    marginBottom: '14px'\n  }, ownerState.touch && {\n    marginBottom: '24px'\n  })), _defineProperty(_extends2, \".\".concat(tooltipClasses.popper, \"[data-popper-placement*=\\\"bottom\\\"] &\"), _extends({\n    transformOrigin: 'center top',\n    marginTop: '14px'\n  }, ownerState.touch && {\n    marginTop: '24px'\n  })), _extends2));\n});\nvar TooltipArrow = styled('span', {\n  name: 'MuiTooltip',\n  slot: 'Arrow',\n  overridesResolver: function overridesResolver(props, styles) {\n    return styles.arrow;\n  }\n})(function (_ref5) {\n  var theme = _ref5.theme;\n  return {\n    overflow: 'hidden',\n    position: 'absolute',\n    width: '1em',\n    height: '0.71em'\n    /* = width / sqrt(2) = (length of the hypotenuse) */,\n\n    boxSizing: 'border-box',\n    color: theme.vars ? theme.vars.palette.Tooltip.bg : alpha(theme.palette.grey[700], 0.9),\n    '&::before': {\n      content: '\"\"',\n      margin: 'auto',\n      display: 'block',\n      width: '100%',\n      height: '100%',\n      backgroundColor: 'currentColor',\n      transform: 'rotate(45deg)'\n    }\n  };\n});\nvar hystersisOpen = false;\nvar hystersisTimer = null;\nexport function testReset() {\n  hystersisOpen = false;\n  clearTimeout(hystersisTimer);\n}\nfunction composeEventHandler(handler, eventHandler) {\n  return function (event) {\n    if (eventHandler) {\n      eventHandler(event);\n    }\n    handler(event);\n  };\n} // TODO v6: Remove PopperComponent, PopperProps, TransitionComponent and TransitionProps.\n\nvar Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {\n  var _components$Popper, _ref, _components$Transitio, _components$Tooltip, _components$Arrow, _componentsProps$popp;\n  var props = useThemeProps({\n    props: inProps,\n    name: 'MuiTooltip'\n  });\n  var _props$arrow = props.arrow,\n    arrow = _props$arrow === void 0 ? false : _props$arrow,\n    children = props.children,\n    _props$components = props.components,\n    components = _props$components === void 0 ? {} : _props$components,\n    _props$componentsProp = props.componentsProps,\n    componentsProps = _props$componentsProp === void 0 ? {} : _props$componentsProp,\n    _props$describeChild = props.describeChild,\n    describeChild = _props$describeChild === void 0 ? false : _props$describeChild,\n    _props$disableFocusLi = props.disableFocusListener,\n    disableFocusListener = _props$disableFocusLi === void 0 ? false : _props$disableFocusLi,\n    _props$disableHoverLi = props.disableHoverListener,\n    disableHoverListener = _props$disableHoverLi === void 0 ? false : _props$disableHoverLi,\n    _props$disableInterac = props.disableInteractive,\n    disableInteractiveProp = _props$disableInterac === void 0 ? false : _props$disableInterac,\n    _props$disableTouchLi = props.disableTouchListener,\n    disableTouchListener = _props$disableTouchLi === void 0 ? false : _props$disableTouchLi,\n    _props$enterDelay = props.enterDelay,\n    enterDelay = _props$enterDelay === void 0 ? 100 : _props$enterDelay,\n    _props$enterNextDelay = props.enterNextDelay,\n    enterNextDelay = _props$enterNextDelay === void 0 ? 0 : _props$enterNextDelay,\n    _props$enterTouchDela = props.enterTouchDelay,\n    enterTouchDelay = _props$enterTouchDela === void 0 ? 700 : _props$enterTouchDela,\n    _props$followCursor = props.followCursor,\n    followCursor = _props$followCursor === void 0 ? false : _props$followCursor,\n    idProp = props.id,\n    _props$leaveDelay = props.leaveDelay,\n    leaveDelay = _props$leaveDelay === void 0 ? 0 : _props$leaveDelay,\n    _props$leaveTouchDela = props.leaveTouchDelay,\n    leaveTouchDelay = _props$leaveTouchDela === void 0 ? 1500 : _props$leaveTouchDela,\n    onClose = props.onClose,\n    onOpen = props.onOpen,\n    openProp = props.open,\n    _props$placement = props.placement,\n    placement = _props$placement === void 0 ? 'bottom' : _props$placement,\n    PopperComponentProp = props.PopperComponent,\n    _props$PopperProps = props.PopperProps,\n    PopperProps = _props$PopperProps === void 0 ? {} : _props$PopperProps,\n    title = props.title,\n    _props$TransitionComp = props.TransitionComponent,\n    TransitionComponentProp = _props$TransitionComp === void 0 ? Grow : _props$TransitionComp,\n    TransitionProps = props.TransitionProps,\n    other = _objectWithoutPropertiesLoose(props, _excluded);\n  var theme = useTheme();\n  var isRtl = theme.direction === 'rtl';\n  var _React$useState = React.useState(),\n    _React$useState2 = _slicedToArray(_React$useState, 2),\n    childNode = _React$useState2[0],\n    setChildNode = _React$useState2[1];\n  var _React$useState3 = React.useState(null),\n    _React$useState4 = _slicedToArray(_React$useState3, 2),\n    arrowRef = _React$useState4[0],\n    setArrowRef = _React$useState4[1];\n  var ignoreNonTouchEvents = React.useRef(false);\n  var disableInteractive = disableInteractiveProp || followCursor;\n  var closeTimer = React.useRef();\n  var enterTimer = React.useRef();\n  var leaveTimer = React.useRef();\n  var touchTimer = React.useRef();\n  var _useControlled = useControlled({\n      controlled: openProp,\n      default: false,\n      name: 'Tooltip',\n      state: 'open'\n    }),\n    _useControlled2 = _slicedToArray(_useControlled, 2),\n    openState = _useControlled2[0],\n    setOpenState = _useControlled2[1];\n  var open = openState;\n  if (process.env.NODE_ENV !== 'production') {\n    // eslint-disable-next-line react-hooks/rules-of-hooks\n    var _React$useRef = React.useRef(openProp !== undefined),\n      isControlled = _React$useRef.current; // eslint-disable-next-line react-hooks/rules-of-hooks\n\n    React.useEffect(function () {\n      if (childNode && childNode.disabled && !isControlled && title !== '' && childNode.tagName.toLowerCase() === 'button') {\n        console.error(['MUI: You are providing a disabled `button` child to the Tooltip component.', 'A disabled element does not fire events.', \"Tooltip needs to listen to the child element's events to display the title.\", '', 'Add a simple wrapper element, such as a `span`.'].join('\\n'));\n      }\n    }, [title, childNode, isControlled]);\n  }\n  var id = useId(idProp);\n  var prevUserSelect = React.useRef();\n  var stopTouchInteraction = React.useCallback(function () {\n    if (prevUserSelect.current !== undefined) {\n      document.body.style.WebkitUserSelect = prevUserSelect.current;\n      prevUserSelect.current = undefined;\n    }\n    clearTimeout(touchTimer.current);\n  }, []);\n  React.useEffect(function () {\n    return function () {\n      clearTimeout(closeTimer.current);\n      clearTimeout(enterTimer.current);\n      clearTimeout(leaveTimer.current);\n      stopTouchInteraction();\n    };\n  }, [stopTouchInteraction]);\n  var handleOpen = function handleOpen(event) {\n    clearTimeout(hystersisTimer);\n    hystersisOpen = true; // The mouseover event will trigger for every nested element in the tooltip.\n    // We can skip rerendering when the tooltip is already open.\n    // We are using the mouseover event instead of the mouseenter event to fix a hide/show issue.\n\n    setOpenState(true);\n    if (onOpen && !open) {\n      onOpen(event);\n    }\n  };\n  var handleClose = useEventCallback(\n  /**\n   * @param {React.SyntheticEvent | Event} event\n   */\n  function (event) {\n    clearTimeout(hystersisTimer);\n    hystersisTimer = setTimeout(function () {\n      hystersisOpen = false;\n    }, 800 + leaveDelay);\n    setOpenState(false);\n    if (onClose && open) {\n      onClose(event);\n    }\n    clearTimeout(closeTimer.current);\n    closeTimer.current = setTimeout(function () {\n      ignoreNonTouchEvents.current = false;\n    }, theme.transitions.duration.shortest);\n  });\n  var handleEnter = function handleEnter(event) {\n    if (ignoreNonTouchEvents.current && event.type !== 'touchstart') {\n      return;\n    } // Remove the title ahead of time.\n    // We don't want to wait for the next render commit.\n    // We would risk displaying two tooltips at the same time (native + this one).\n\n    if (childNode) {\n      childNode.removeAttribute('title');\n    }\n    clearTimeout(enterTimer.current);\n    clearTimeout(leaveTimer.current);\n    if (enterDelay || hystersisOpen && enterNextDelay) {\n      enterTimer.current = setTimeout(function () {\n        handleOpen(event);\n      }, hystersisOpen ? enterNextDelay : enterDelay);\n    } else {\n      handleOpen(event);\n    }\n  };\n  var handleLeave = function handleLeave(event) {\n    clearTimeout(enterTimer.current);\n    clearTimeout(leaveTimer.current);\n    leaveTimer.current = setTimeout(function () {\n      handleClose(event);\n    }, leaveDelay);\n  };\n  var _useIsFocusVisible = useIsFocusVisible(),\n    isFocusVisibleRef = _useIsFocusVisible.isFocusVisibleRef,\n    handleBlurVisible = _useIsFocusVisible.onBlur,\n    handleFocusVisible = _useIsFocusVisible.onFocus,\n    focusVisibleRef = _useIsFocusVisible.ref; // We don't necessarily care about the focusVisible state (which is safe to access via ref anyway).\n  // We just need to re-render the Tooltip if the focus-visible state changes.\n\n  var _React$useState5 = React.useState(false),\n    _React$useState6 = _slicedToArray(_React$useState5, 2),\n    setChildIsFocusVisible = _React$useState6[1];\n  var handleBlur = function handleBlur(event) {\n    handleBlurVisible(event);\n    if (isFocusVisibleRef.current === false) {\n      setChildIsFocusVisible(false);\n      handleLeave(event);\n    }\n  };\n  var handleFocus = function handleFocus(event) {\n    // Workaround for https://github.com/facebook/react/issues/7769\n    // The autoFocus of React might trigger the event before the componentDidMount.\n    // We need to account for this eventuality.\n    if (!childNode) {\n      setChildNode(event.currentTarget);\n    }\n    handleFocusVisible(event);\n    if (isFocusVisibleRef.current === true) {\n      setChildIsFocusVisible(true);\n      handleEnter(event);\n    }\n  };\n  var detectTouchStart = function detectTouchStart(event) {\n    ignoreNonTouchEvents.current = true;\n    var childrenProps = children.props;\n    if (childrenProps.onTouchStart) {\n      childrenProps.onTouchStart(event);\n    }\n  };\n  var handleMouseOver = handleEnter;\n  var handleMouseLeave = handleLeave;\n  var handleTouchStart = function handleTouchStart(event) {\n    detectTouchStart(event);\n    clearTimeout(leaveTimer.current);\n    clearTimeout(closeTimer.current);\n    stopTouchInteraction();\n    prevUserSelect.current = document.body.style.WebkitUserSelect; // Prevent iOS text selection on long-tap.\n\n    document.body.style.WebkitUserSelect = 'none';\n    touchTimer.current = setTimeout(function () {\n      document.body.style.WebkitUserSelect = prevUserSelect.current;\n      handleEnter(event);\n    }, enterTouchDelay);\n  };\n  var handleTouchEnd = function handleTouchEnd(event) {\n    if (children.props.onTouchEnd) {\n      children.props.onTouchEnd(event);\n    }\n    stopTouchInteraction();\n    clearTimeout(leaveTimer.current);\n    leaveTimer.current = setTimeout(function () {\n      handleClose(event);\n    }, leaveTouchDelay);\n  };\n  React.useEffect(function () {\n    if (!open) {\n      return undefined;\n    }\n    /**\n     * @param {KeyboardEvent} nativeEvent\n     */\n\n    function handleKeyDown(nativeEvent) {\n      // IE11, Edge (prior to using Bink?) use 'Esc'\n      if (nativeEvent.key === 'Escape' || nativeEvent.key === 'Esc') {\n        handleClose(nativeEvent);\n      }\n    }\n    document.addEventListener('keydown', handleKeyDown);\n    return function () {\n      document.removeEventListener('keydown', handleKeyDown);\n    };\n  }, [handleClose, open]);\n  var handleRef = useForkRef(children.ref, focusVisibleRef, setChildNode, ref); // There is no point in displaying an empty tooltip.\n\n  if (typeof title !== 'number' && !title) {\n    open = false;\n  }\n  var positionRef = React.useRef({\n    x: 0,\n    y: 0\n  });\n  var popperRef = React.useRef();\n  var handleMouseMove = function handleMouseMove(event) {\n    var childrenProps = children.props;\n    if (childrenProps.onMouseMove) {\n      childrenProps.onMouseMove(event);\n    }\n    positionRef.current = {\n      x: event.clientX,\n      y: event.clientY\n    };\n    if (popperRef.current) {\n      popperRef.current.update();\n    }\n  };\n  var nameOrDescProps = {};\n  var titleIsString = typeof title === 'string';\n  if (describeChild) {\n    nameOrDescProps.title = !open && titleIsString && !disableHoverListener ? title : null;\n    nameOrDescProps['aria-describedby'] = open ? id : null;\n  } else {\n    nameOrDescProps['aria-label'] = titleIsString ? title : null;\n    nameOrDescProps['aria-labelledby'] = open && !titleIsString ? id : null;\n  }\n  var childrenProps = _extends({}, nameOrDescProps, other, children.props, {\n    className: clsx(other.className, children.props.className),\n    onTouchStart: detectTouchStart,\n    ref: handleRef\n  }, followCursor ? {\n    onMouseMove: handleMouseMove\n  } : {});\n  if (process.env.NODE_ENV !== 'production') {\n    childrenProps['data-mui-internal-clone-element'] = true; // eslint-disable-next-line react-hooks/rules-of-hooks\n\n    React.useEffect(function () {\n      if (childNode && !childNode.getAttribute('data-mui-internal-clone-element')) {\n        console.error(['MUI: The `children` component of the Tooltip is not forwarding its props correctly.', 'Please make sure that props are spread on the same element that the ref is applied to.'].join('\\n'));\n      }\n    }, [childNode]);\n  }\n  var interactiveWrapperListeners = {};\n  if (!disableTouchListener) {\n    childrenProps.onTouchStart = handleTouchStart;\n    childrenProps.onTouchEnd = handleTouchEnd;\n  }\n  if (!disableHoverListener) {\n    childrenProps.onMouseOver = composeEventHandler(handleMouseOver, childrenProps.onMouseOver);\n    childrenProps.onMouseLeave = composeEventHandler(handleMouseLeave, childrenProps.onMouseLeave);\n    if (!disableInteractive) {\n      interactiveWrapperListeners.onMouseOver = handleMouseOver;\n      interactiveWrapperListeners.onMouseLeave = handleMouseLeave;\n    }\n  }\n  if (!disableFocusListener) {\n    childrenProps.onFocus = composeEventHandler(handleFocus, childrenProps.onFocus);\n    childrenProps.onBlur = composeEventHandler(handleBlur, childrenProps.onBlur);\n    if (!disableInteractive) {\n      interactiveWrapperListeners.onFocus = handleFocus;\n      interactiveWrapperListeners.onBlur = handleBlur;\n    }\n  }\n  if (process.env.NODE_ENV !== 'production') {\n    if (children.props.title) {\n      console.error(['MUI: You have provided a `title` prop to the child of <Tooltip />.', \"Remove this title prop `\".concat(children.props.title, \"` or the Tooltip component.\")].join('\\n'));\n    }\n  }\n  var popperOptions = React.useMemo(function () {\n    var _PopperProps$popperOp;\n    var tooltipModifiers = [{\n      name: 'arrow',\n      enabled: Boolean(arrowRef),\n      options: {\n        element: arrowRef,\n        padding: 4\n      }\n    }];\n    if ((_PopperProps$popperOp = PopperProps.popperOptions) != null && _PopperProps$popperOp.modifiers) {\n      tooltipModifiers = tooltipModifiers.concat(PopperProps.popperOptions.modifiers);\n    }\n    return _extends({}, PopperProps.popperOptions, {\n      modifiers: tooltipModifiers\n    });\n  }, [arrowRef, PopperProps]);\n  var ownerState = _extends({}, props, {\n    isRtl: isRtl,\n    arrow: arrow,\n    disableInteractive: disableInteractive,\n    placement: placement,\n    PopperComponentProp: PopperComponentProp,\n    touch: ignoreNonTouchEvents.current\n  });\n  var classes = useUtilityClasses(ownerState);\n  var PopperComponent = (_components$Popper = components.Popper) != null ? _components$Popper : TooltipPopper;\n  var TransitionComponent = (_ref = (_components$Transitio = components.Transition) != null ? _components$Transitio : TransitionComponentProp) != null ? _ref : Grow;\n  var TooltipComponent = (_components$Tooltip = components.Tooltip) != null ? _components$Tooltip : TooltipTooltip;\n  var ArrowComponent = (_components$Arrow = components.Arrow) != null ? _components$Arrow : TooltipArrow;\n  var popperProps = appendOwnerState(PopperComponent, _extends({}, PopperProps, componentsProps.popper), ownerState);\n  var transitionProps = appendOwnerState(TransitionComponent, _extends({}, TransitionProps, componentsProps.transition), ownerState);\n  var tooltipProps = appendOwnerState(TooltipComponent, _extends({}, componentsProps.tooltip), ownerState);\n  var tooltipArrowProps = appendOwnerState(ArrowComponent, _extends({}, componentsProps.arrow), ownerState);\n  return /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/React.cloneElement(children, childrenProps), /*#__PURE__*/_jsx(PopperComponent, _extends({\n      as: PopperComponentProp != null ? PopperComponentProp : Popper,\n      placement: placement,\n      anchorEl: followCursor ? {\n        getBoundingClientRect: function getBoundingClientRect() {\n          return {\n            top: positionRef.current.y,\n            left: positionRef.current.x,\n            right: positionRef.current.x,\n            bottom: positionRef.current.y,\n            width: 0,\n            height: 0\n          };\n        }\n      } : childNode,\n      popperRef: popperRef,\n      open: childNode ? open : false,\n      id: id,\n      transition: true\n    }, interactiveWrapperListeners, popperProps, {\n      className: clsx(classes.popper, PopperProps == null ? void 0 : PopperProps.className, (_componentsProps$popp = componentsProps.popper) == null ? void 0 : _componentsProps$popp.className),\n      popperOptions: popperOptions,\n      children: function children(_ref6) {\n        var TransitionPropsInner = _ref6.TransitionProps;\n        var _componentsProps$tool, _componentsProps$arro;\n        return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n          timeout: theme.transitions.duration.shorter\n        }, TransitionPropsInner, transitionProps, {\n          children: /*#__PURE__*/_jsxs(TooltipComponent, _extends({}, tooltipProps, {\n            className: clsx(classes.tooltip, (_componentsProps$tool = componentsProps.tooltip) == null ? void 0 : _componentsProps$tool.className),\n            children: [title, arrow ? /*#__PURE__*/_jsx(ArrowComponent, _extends({}, tooltipArrowProps, {\n              className: clsx(classes.arrow, (_componentsProps$arro = componentsProps.arrow) == null ? void 0 : _componentsProps$arro.className),\n              ref: setArrowRef\n            })) : null]\n          }))\n        }));\n      }\n    }))]\n  });\n});\nprocess.env.NODE_ENV !== \"production\" ? Tooltip.propTypes\n/* remove-proptypes */ = {\n  // ----------------------------- Warning --------------------------------\n  // | These PropTypes are generated from the TypeScript type definitions |\n  // |     To update them edit the d.ts file and run \"yarn proptypes\"     |\n  // ----------------------------------------------------------------------\n\n  /**\n   * If `true`, adds an arrow to the tooltip.\n   * @default false\n   */\n  arrow: PropTypes.bool,\n  /**\n   * Tooltip reference element.\n   */\n  children: elementAcceptingRef.isRequired,\n  /**\n   * Override or extend the styles applied to the component.\n   */\n  classes: PropTypes.object,\n  /**\n   * @ignore\n   */\n  className: PropTypes.string,\n  /**\n   * The components used for each slot inside the Tooltip.\n   * Either a string to use a HTML element or a component.\n   * @default {}\n   */\n  components: PropTypes.shape({\n    Arrow: PropTypes.elementType,\n    Popper: PropTypes.elementType,\n    Tooltip: PropTypes.elementType,\n    Transition: PropTypes.elementType\n  }),\n  /**\n   * The props used for each slot inside the Tooltip.\n   * Note that `componentsProps.popper` prop values win over `PopperProps`\n   * and `componentsProps.transition` prop values win over `TransitionProps` if both are applied.\n   * @default {}\n   */\n  componentsProps: PropTypes.shape({\n    arrow: PropTypes.object,\n    popper: PropTypes.object,\n    tooltip: PropTypes.object,\n    transition: PropTypes.object\n  }),\n  /**\n   * Set to `true` if the `title` acts as an accessible description.\n   * By default the `title` acts as an accessible label for the child.\n   * @default false\n   */\n  describeChild: PropTypes.bool,\n  /**\n   * Do not respond to focus-visible events.\n   * @default false\n   */\n  disableFocusListener: PropTypes.bool,\n  /**\n   * Do not respond to hover events.\n   * @default false\n   */\n  disableHoverListener: PropTypes.bool,\n  /**\n   * Makes a tooltip not interactive, i.e. it will close when the user\n   * hovers over the tooltip before the `leaveDelay` is expired.\n   * @default false\n   */\n  disableInteractive: PropTypes.bool,\n  /**\n   * Do not respond to long press touch events.\n   * @default false\n   */\n  disableTouchListener: PropTypes.bool,\n  /**\n   * The number of milliseconds to wait before showing the tooltip.\n   * This prop won't impact the enter touch delay (`enterTouchDelay`).\n   * @default 100\n   */\n  enterDelay: PropTypes.number,\n  /**\n   * The number of milliseconds to wait before showing the tooltip when one was already recently opened.\n   * @default 0\n   */\n  enterNextDelay: PropTypes.number,\n  /**\n   * The number of milliseconds a user must touch the element before showing the tooltip.\n   * @default 700\n   */\n  enterTouchDelay: PropTypes.number,\n  /**\n   * If `true`, the tooltip follow the cursor over the wrapped element.\n   * @default false\n   */\n  followCursor: PropTypes.bool,\n  /**\n   * This prop is used to help implement the accessibility logic.\n   * If you don't provide this prop. It falls back to a randomly generated id.\n   */\n  id: PropTypes.string,\n  /**\n   * The number of milliseconds to wait before hiding the tooltip.\n   * This prop won't impact the leave touch delay (`leaveTouchDelay`).\n   * @default 0\n   */\n  leaveDelay: PropTypes.number,\n  /**\n   * The number of milliseconds after the user stops touching an element before hiding the tooltip.\n   * @default 1500\n   */\n  leaveTouchDelay: PropTypes.number,\n  /**\n   * Callback fired when the component requests to be closed.\n   *\n   * @param {React.SyntheticEvent} event The event source of the callback.\n   */\n  onClose: PropTypes.func,\n  /**\n   * Callback fired when the component requests to be open.\n   *\n   * @param {React.SyntheticEvent} event The event source of the callback.\n   */\n  onOpen: PropTypes.func,\n  /**\n   * If `true`, the component is shown.\n   */\n  open: PropTypes.bool,\n  /**\n   * Tooltip placement.\n   * @default 'bottom'\n   */\n  placement: PropTypes.oneOf(['bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n  /**\n   * The component used for the popper.\n   * @default Popper\n   */\n  PopperComponent: PropTypes.elementType,\n  /**\n   * Props applied to the [`Popper`](/material-ui/api/popper/) element.\n   * @default {}\n   */\n  PopperProps: PropTypes.object,\n  /**\n   * The system prop that allows defining system overrides as well as additional CSS styles.\n   */\n  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n  /**\n   * Tooltip title. Zero-length titles string, undefined, null and false are never displayed.\n   */\n  title: PropTypes.node,\n  /**\n   * The component used for the transition.\n   * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n   * @default Grow\n   */\n  TransitionComponent: PropTypes.elementType,\n  /**\n   * Props applied to the transition element.\n   * By default, the element is based on this [`Transition`](http://reactcommunity.org/react-transition-group/transition/) component.\n   */\n  TransitionProps: PropTypes.object\n} : void 0;\nexport default Tooltip;","map":{"version":3,"names":["_objectWithoutPropertiesLoose","_extends","_excluded","React","PropTypes","clsx","elementAcceptingRef","unstable_composeClasses","composeClasses","appendOwnerState","alpha","styled","useTheme","useThemeProps","capitalize","Grow","Popper","useEventCallback","useForkRef","useId","useIsFocusVisible","useControlled","tooltipClasses","getTooltipUtilityClass","jsx","_jsx","jsxs","_jsxs","round","value","Math","useUtilityClasses","ownerState","classes","disableInteractive","arrow","touch","placement","slots","popper","tooltip","split","TooltipPopper","name","slot","overridesResolver","props","styles","popperInteractive","popperArrow","open","popperClose","theme","zIndex","vars","pointerEvents","top","marginTop","transformOrigin","bottom","marginBottom","isRtl","left","marginLeft","right","marginRight","height","width","TooltipTooltip","tooltipArrow","backgroundColor","palette","Tooltip","bg","grey","borderRadius","shape","color","common","white","fontFamily","typography","padding","fontSize","pxToRem","maxWidth","margin","wordWrap","fontWeight","fontWeightMedium","position","lineHeight","fontWeightRegular","TooltipArrow","overflow","boxSizing","content","display","transform","hystersisOpen","hystersisTimer","testReset","clearTimeout","composeEventHandler","handler","eventHandler","event","forwardRef","inProps","ref","_components$Popper","_ref","_components$Transitio","_components$Tooltip","_components$Arrow","_componentsProps$popp","children","components","componentsProps","describeChild","disableFocusListener","disableHoverListener","disableInteractiveProp","disableTouchListener","enterDelay","enterNextDelay","enterTouchDelay","followCursor","idProp","id","leaveDelay","leaveTouchDelay","onClose","onOpen","openProp","PopperComponentProp","PopperComponent","PopperProps","title","TransitionComponent","TransitionComponentProp","TransitionProps","other","direction","useState","childNode","setChildNode","arrowRef","setArrowRef","ignoreNonTouchEvents","useRef","closeTimer","enterTimer","leaveTimer","touchTimer","controlled","default","state","openState","setOpenState","process","env","NODE_ENV","undefined","isControlled","current","useEffect","disabled","tagName","toLowerCase","console","error","join","prevUserSelect","stopTouchInteraction","useCallback","document","body","style","WebkitUserSelect","handleOpen","handleClose","setTimeout","transitions","duration","shortest","handleEnter","type","removeAttribute","handleLeave","isFocusVisibleRef","handleBlurVisible","onBlur","handleFocusVisible","onFocus","focusVisibleRef","setChildIsFocusVisible","handleBlur","handleFocus","currentTarget","detectTouchStart","childrenProps","onTouchStart","handleMouseOver","handleMouseLeave","handleTouchStart","handleTouchEnd","onTouchEnd","handleKeyDown","nativeEvent","key","addEventListener","removeEventListener","handleRef","positionRef","x","y","popperRef","handleMouseMove","onMouseMove","clientX","clientY","update","nameOrDescProps","titleIsString","className","getAttribute","interactiveWrapperListeners","onMouseOver","onMouseLeave","popperOptions","useMemo","_PopperProps$popperOp","tooltipModifiers","enabled","Boolean","options","element","modifiers","concat","Transition","TooltipComponent","ArrowComponent","Arrow","popperProps","transitionProps","transition","tooltipProps","tooltipArrowProps","Fragment","cloneElement","as","anchorEl","getBoundingClientRect","TransitionPropsInner","_componentsProps$tool","_componentsProps$arro","timeout","shorter","propTypes","bool","isRequired","object","string","elementType","number","func","oneOf","sx","oneOfType","arrayOf","node"],"sources":["/Users/poppie/Desktop/development/messenger/app/frontend/node_modules/@mui/material/esm/Tooltip/Tooltip.js"],"sourcesContent":["import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"arrow\", \"children\", \"classes\", \"components\", \"componentsProps\", \"describeChild\", \"disableFocusListener\", \"disableHoverListener\", \"disableInteractive\", \"disableTouchListener\", \"enterDelay\", \"enterNextDelay\", \"enterTouchDelay\", \"followCursor\", \"id\", \"leaveDelay\", \"leaveTouchDelay\", \"onClose\", \"onOpen\", \"open\", \"placement\", \"PopperComponent\", \"PopperProps\", \"title\", \"TransitionComponent\", \"TransitionProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { elementAcceptingRef } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses, appendOwnerState } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled from '../styles/styled';\nimport useTheme from '../styles/useTheme';\nimport useThemeProps from '../styles/useThemeProps';\nimport capitalize from '../utils/capitalize';\nimport Grow from '../Grow';\nimport Popper from '../Popper';\nimport useEventCallback from '../utils/useEventCallback';\nimport useForkRef from '../utils/useForkRef';\nimport useId from '../utils/useId';\nimport useIsFocusVisible from '../utils/useIsFocusVisible';\nimport useControlled from '../utils/useControlled';\nimport tooltipClasses, { getTooltipUtilityClass } from './tooltipClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nfunction round(value) {\n  return Math.round(value * 1e5) / 1e5;\n}\n\nconst useUtilityClasses = ownerState => {\n  const {\n    classes,\n    disableInteractive,\n    arrow,\n    touch,\n    placement\n  } = ownerState;\n  const slots = {\n    popper: ['popper', !disableInteractive && 'popperInteractive', arrow && 'popperArrow'],\n    tooltip: ['tooltip', arrow && 'tooltipArrow', touch && 'touch', `tooltipPlacement${capitalize(placement.split('-')[0])}`],\n    arrow: ['arrow']\n  };\n  return composeClasses(slots, getTooltipUtilityClass, classes);\n};\n\nconst TooltipPopper = styled(Popper, {\n  name: 'MuiTooltip',\n  slot: 'Popper',\n  overridesResolver: (props, styles) => {\n    const {\n      ownerState\n    } = props;\n    return [styles.popper, !ownerState.disableInteractive && styles.popperInteractive, ownerState.arrow && styles.popperArrow, !ownerState.open && styles.popperClose];\n  }\n})(({\n  theme,\n  ownerState,\n  open\n}) => _extends({\n  zIndex: (theme.vars || theme).zIndex.tooltip,\n  pointerEvents: 'none'\n}, !ownerState.disableInteractive && {\n  pointerEvents: 'auto'\n}, !open && {\n  pointerEvents: 'none'\n}, ownerState.arrow && {\n  [`&[data-popper-placement*=\"bottom\"] .${tooltipClasses.arrow}`]: {\n    top: 0,\n    marginTop: '-0.71em',\n    '&::before': {\n      transformOrigin: '0 100%'\n    }\n  },\n  [`&[data-popper-placement*=\"top\"] .${tooltipClasses.arrow}`]: {\n    bottom: 0,\n    marginBottom: '-0.71em',\n    '&::before': {\n      transformOrigin: '100% 0'\n    }\n  },\n  [`&[data-popper-placement*=\"right\"] .${tooltipClasses.arrow}`]: _extends({}, !ownerState.isRtl ? {\n    left: 0,\n    marginLeft: '-0.71em'\n  } : {\n    right: 0,\n    marginRight: '-0.71em'\n  }, {\n    height: '1em',\n    width: '0.71em',\n    '&::before': {\n      transformOrigin: '100% 100%'\n    }\n  }),\n  [`&[data-popper-placement*=\"left\"] .${tooltipClasses.arrow}`]: _extends({}, !ownerState.isRtl ? {\n    right: 0,\n    marginRight: '-0.71em'\n  } : {\n    left: 0,\n    marginLeft: '-0.71em'\n  }, {\n    height: '1em',\n    width: '0.71em',\n    '&::before': {\n      transformOrigin: '0 0'\n    }\n  })\n}));\nconst TooltipTooltip = styled('div', {\n  name: 'MuiTooltip',\n  slot: 'Tooltip',\n  overridesResolver: (props, styles) => {\n    const {\n      ownerState\n    } = props;\n    return [styles.tooltip, ownerState.touch && styles.touch, ownerState.arrow && styles.tooltipArrow, styles[`tooltipPlacement${capitalize(ownerState.placement.split('-')[0])}`]];\n  }\n})(({\n  theme,\n  ownerState\n}) => _extends({\n  backgroundColor: theme.vars ? theme.vars.palette.Tooltip.bg : alpha(theme.palette.grey[700], 0.92),\n  borderRadius: (theme.vars || theme).shape.borderRadius,\n  color: (theme.vars || theme).palette.common.white,\n  fontFamily: theme.typography.fontFamily,\n  padding: '4px 8px',\n  fontSize: theme.typography.pxToRem(11),\n  maxWidth: 300,\n  margin: 2,\n  wordWrap: 'break-word',\n  fontWeight: theme.typography.fontWeightMedium\n}, ownerState.arrow && {\n  position: 'relative',\n  margin: 0\n}, ownerState.touch && {\n  padding: '8px 16px',\n  fontSize: theme.typography.pxToRem(14),\n  lineHeight: `${round(16 / 14)}em`,\n  fontWeight: theme.typography.fontWeightRegular\n}, {\n  [`.${tooltipClasses.popper}[data-popper-placement*=\"left\"] &`]: _extends({\n    transformOrigin: 'right center'\n  }, !ownerState.isRtl ? _extends({\n    marginRight: '14px'\n  }, ownerState.touch && {\n    marginRight: '24px'\n  }) : _extends({\n    marginLeft: '14px'\n  }, ownerState.touch && {\n    marginLeft: '24px'\n  })),\n  [`.${tooltipClasses.popper}[data-popper-placement*=\"right\"] &`]: _extends({\n    transformOrigin: 'left center'\n  }, !ownerState.isRtl ? _extends({\n    marginLeft: '14px'\n  }, ownerState.touch && {\n    marginLeft: '24px'\n  }) : _extends({\n    marginRight: '14px'\n  }, ownerState.touch && {\n    marginRight: '24px'\n  })),\n  [`.${tooltipClasses.popper}[data-popper-placement*=\"top\"] &`]: _extends({\n    transformOrigin: 'center bottom',\n    marginBottom: '14px'\n  }, ownerState.touch && {\n    marginBottom: '24px'\n  }),\n  [`.${tooltipClasses.popper}[data-popper-placement*=\"bottom\"] &`]: _extends({\n    transformOrigin: 'center top',\n    marginTop: '14px'\n  }, ownerState.touch && {\n    marginTop: '24px'\n  })\n}));\nconst TooltipArrow = styled('span', {\n  name: 'MuiTooltip',\n  slot: 'Arrow',\n  overridesResolver: (props, styles) => styles.arrow\n})(({\n  theme\n}) => ({\n  overflow: 'hidden',\n  position: 'absolute',\n  width: '1em',\n  height: '0.71em'\n  /* = width / sqrt(2) = (length of the hypotenuse) */\n  ,\n  boxSizing: 'border-box',\n  color: theme.vars ? theme.vars.palette.Tooltip.bg : alpha(theme.palette.grey[700], 0.9),\n  '&::before': {\n    content: '\"\"',\n    margin: 'auto',\n    display: 'block',\n    width: '100%',\n    height: '100%',\n    backgroundColor: 'currentColor',\n    transform: 'rotate(45deg)'\n  }\n}));\nlet hystersisOpen = false;\nlet hystersisTimer = null;\nexport function testReset() {\n  hystersisOpen = false;\n  clearTimeout(hystersisTimer);\n}\n\nfunction composeEventHandler(handler, eventHandler) {\n  return event => {\n    if (eventHandler) {\n      eventHandler(event);\n    }\n\n    handler(event);\n  };\n} // TODO v6: Remove PopperComponent, PopperProps, TransitionComponent and TransitionProps.\n\n\nconst Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {\n  var _components$Popper, _ref, _components$Transitio, _components$Tooltip, _components$Arrow, _componentsProps$popp;\n\n  const props = useThemeProps({\n    props: inProps,\n    name: 'MuiTooltip'\n  });\n\n  const {\n    arrow = false,\n    children,\n    components = {},\n    componentsProps = {},\n    describeChild = false,\n    disableFocusListener = false,\n    disableHoverListener = false,\n    disableInteractive: disableInteractiveProp = false,\n    disableTouchListener = false,\n    enterDelay = 100,\n    enterNextDelay = 0,\n    enterTouchDelay = 700,\n    followCursor = false,\n    id: idProp,\n    leaveDelay = 0,\n    leaveTouchDelay = 1500,\n    onClose,\n    onOpen,\n    open: openProp,\n    placement = 'bottom',\n    PopperComponent: PopperComponentProp,\n    PopperProps = {},\n    title,\n    TransitionComponent: TransitionComponentProp = Grow,\n    TransitionProps\n  } = props,\n        other = _objectWithoutPropertiesLoose(props, _excluded);\n\n  const theme = useTheme();\n  const isRtl = theme.direction === 'rtl';\n  const [childNode, setChildNode] = React.useState();\n  const [arrowRef, setArrowRef] = React.useState(null);\n  const ignoreNonTouchEvents = React.useRef(false);\n  const disableInteractive = disableInteractiveProp || followCursor;\n  const closeTimer = React.useRef();\n  const enterTimer = React.useRef();\n  const leaveTimer = React.useRef();\n  const touchTimer = React.useRef();\n  const [openState, setOpenState] = useControlled({\n    controlled: openProp,\n    default: false,\n    name: 'Tooltip',\n    state: 'open'\n  });\n  let open = openState;\n\n  if (process.env.NODE_ENV !== 'production') {\n    // eslint-disable-next-line react-hooks/rules-of-hooks\n    const {\n      current: isControlled\n    } = React.useRef(openProp !== undefined); // eslint-disable-next-line react-hooks/rules-of-hooks\n\n    React.useEffect(() => {\n      if (childNode && childNode.disabled && !isControlled && title !== '' && childNode.tagName.toLowerCase() === 'button') {\n        console.error(['MUI: You are providing a disabled `button` child to the Tooltip component.', 'A disabled element does not fire events.', \"Tooltip needs to listen to the child element's events to display the title.\", '', 'Add a simple wrapper element, such as a `span`.'].join('\\n'));\n      }\n    }, [title, childNode, isControlled]);\n  }\n\n  const id = useId(idProp);\n  const prevUserSelect = React.useRef();\n  const stopTouchInteraction = React.useCallback(() => {\n    if (prevUserSelect.current !== undefined) {\n      document.body.style.WebkitUserSelect = prevUserSelect.current;\n      prevUserSelect.current = undefined;\n    }\n\n    clearTimeout(touchTimer.current);\n  }, []);\n  React.useEffect(() => {\n    return () => {\n      clearTimeout(closeTimer.current);\n      clearTimeout(enterTimer.current);\n      clearTimeout(leaveTimer.current);\n      stopTouchInteraction();\n    };\n  }, [stopTouchInteraction]);\n\n  const handleOpen = event => {\n    clearTimeout(hystersisTimer);\n    hystersisOpen = true; // The mouseover event will trigger for every nested element in the tooltip.\n    // We can skip rerendering when the tooltip is already open.\n    // We are using the mouseover event instead of the mouseenter event to fix a hide/show issue.\n\n    setOpenState(true);\n\n    if (onOpen && !open) {\n      onOpen(event);\n    }\n  };\n\n  const handleClose = useEventCallback(\n  /**\n   * @param {React.SyntheticEvent | Event} event\n   */\n  event => {\n    clearTimeout(hystersisTimer);\n    hystersisTimer = setTimeout(() => {\n      hystersisOpen = false;\n    }, 800 + leaveDelay);\n    setOpenState(false);\n\n    if (onClose && open) {\n      onClose(event);\n    }\n\n    clearTimeout(closeTimer.current);\n    closeTimer.current = setTimeout(() => {\n      ignoreNonTouchEvents.current = false;\n    }, theme.transitions.duration.shortest);\n  });\n\n  const handleEnter = event => {\n    if (ignoreNonTouchEvents.current && event.type !== 'touchstart') {\n      return;\n    } // Remove the title ahead of time.\n    // We don't want to wait for the next render commit.\n    // We would risk displaying two tooltips at the same time (native + this one).\n\n\n    if (childNode) {\n      childNode.removeAttribute('title');\n    }\n\n    clearTimeout(enterTimer.current);\n    clearTimeout(leaveTimer.current);\n\n    if (enterDelay || hystersisOpen && enterNextDelay) {\n      enterTimer.current = setTimeout(() => {\n        handleOpen(event);\n      }, hystersisOpen ? enterNextDelay : enterDelay);\n    } else {\n      handleOpen(event);\n    }\n  };\n\n  const handleLeave = event => {\n    clearTimeout(enterTimer.current);\n    clearTimeout(leaveTimer.current);\n    leaveTimer.current = setTimeout(() => {\n      handleClose(event);\n    }, leaveDelay);\n  };\n\n  const {\n    isFocusVisibleRef,\n    onBlur: handleBlurVisible,\n    onFocus: handleFocusVisible,\n    ref: focusVisibleRef\n  } = useIsFocusVisible(); // We don't necessarily care about the focusVisible state (which is safe to access via ref anyway).\n  // We just need to re-render the Tooltip if the focus-visible state changes.\n\n  const [, setChildIsFocusVisible] = React.useState(false);\n\n  const handleBlur = event => {\n    handleBlurVisible(event);\n\n    if (isFocusVisibleRef.current === false) {\n      setChildIsFocusVisible(false);\n      handleLeave(event);\n    }\n  };\n\n  const handleFocus = event => {\n    // Workaround for https://github.com/facebook/react/issues/7769\n    // The autoFocus of React might trigger the event before the componentDidMount.\n    // We need to account for this eventuality.\n    if (!childNode) {\n      setChildNode(event.currentTarget);\n    }\n\n    handleFocusVisible(event);\n\n    if (isFocusVisibleRef.current === true) {\n      setChildIsFocusVisible(true);\n      handleEnter(event);\n    }\n  };\n\n  const detectTouchStart = event => {\n    ignoreNonTouchEvents.current = true;\n    const childrenProps = children.props;\n\n    if (childrenProps.onTouchStart) {\n      childrenProps.onTouchStart(event);\n    }\n  };\n\n  const handleMouseOver = handleEnter;\n  const handleMouseLeave = handleLeave;\n\n  const handleTouchStart = event => {\n    detectTouchStart(event);\n    clearTimeout(leaveTimer.current);\n    clearTimeout(closeTimer.current);\n    stopTouchInteraction();\n    prevUserSelect.current = document.body.style.WebkitUserSelect; // Prevent iOS text selection on long-tap.\n\n    document.body.style.WebkitUserSelect = 'none';\n    touchTimer.current = setTimeout(() => {\n      document.body.style.WebkitUserSelect = prevUserSelect.current;\n      handleEnter(event);\n    }, enterTouchDelay);\n  };\n\n  const handleTouchEnd = event => {\n    if (children.props.onTouchEnd) {\n      children.props.onTouchEnd(event);\n    }\n\n    stopTouchInteraction();\n    clearTimeout(leaveTimer.current);\n    leaveTimer.current = setTimeout(() => {\n      handleClose(event);\n    }, leaveTouchDelay);\n  };\n\n  React.useEffect(() => {\n    if (!open) {\n      return undefined;\n    }\n    /**\n     * @param {KeyboardEvent} nativeEvent\n     */\n\n\n    function handleKeyDown(nativeEvent) {\n      // IE11, Edge (prior to using Bink?) use 'Esc'\n      if (nativeEvent.key === 'Escape' || nativeEvent.key === 'Esc') {\n        handleClose(nativeEvent);\n      }\n    }\n\n    document.addEventListener('keydown', handleKeyDown);\n    return () => {\n      document.removeEventListener('keydown', handleKeyDown);\n    };\n  }, [handleClose, open]);\n  const handleRef = useForkRef(children.ref, focusVisibleRef, setChildNode, ref); // There is no point in displaying an empty tooltip.\n\n  if (typeof title !== 'number' && !title) {\n    open = false;\n  }\n\n  const positionRef = React.useRef({\n    x: 0,\n    y: 0\n  });\n  const popperRef = React.useRef();\n\n  const handleMouseMove = event => {\n    const childrenProps = children.props;\n\n    if (childrenProps.onMouseMove) {\n      childrenProps.onMouseMove(event);\n    }\n\n    positionRef.current = {\n      x: event.clientX,\n      y: event.clientY\n    };\n\n    if (popperRef.current) {\n      popperRef.current.update();\n    }\n  };\n\n  const nameOrDescProps = {};\n  const titleIsString = typeof title === 'string';\n\n  if (describeChild) {\n    nameOrDescProps.title = !open && titleIsString && !disableHoverListener ? title : null;\n    nameOrDescProps['aria-describedby'] = open ? id : null;\n  } else {\n    nameOrDescProps['aria-label'] = titleIsString ? title : null;\n    nameOrDescProps['aria-labelledby'] = open && !titleIsString ? id : null;\n  }\n\n  const childrenProps = _extends({}, nameOrDescProps, other, children.props, {\n    className: clsx(other.className, children.props.className),\n    onTouchStart: detectTouchStart,\n    ref: handleRef\n  }, followCursor ? {\n    onMouseMove: handleMouseMove\n  } : {});\n\n  if (process.env.NODE_ENV !== 'production') {\n    childrenProps['data-mui-internal-clone-element'] = true; // eslint-disable-next-line react-hooks/rules-of-hooks\n\n    React.useEffect(() => {\n      if (childNode && !childNode.getAttribute('data-mui-internal-clone-element')) {\n        console.error(['MUI: The `children` component of the Tooltip is not forwarding its props correctly.', 'Please make sure that props are spread on the same element that the ref is applied to.'].join('\\n'));\n      }\n    }, [childNode]);\n  }\n\n  const interactiveWrapperListeners = {};\n\n  if (!disableTouchListener) {\n    childrenProps.onTouchStart = handleTouchStart;\n    childrenProps.onTouchEnd = handleTouchEnd;\n  }\n\n  if (!disableHoverListener) {\n    childrenProps.onMouseOver = composeEventHandler(handleMouseOver, childrenProps.onMouseOver);\n    childrenProps.onMouseLeave = composeEventHandler(handleMouseLeave, childrenProps.onMouseLeave);\n\n    if (!disableInteractive) {\n      interactiveWrapperListeners.onMouseOver = handleMouseOver;\n      interactiveWrapperListeners.onMouseLeave = handleMouseLeave;\n    }\n  }\n\n  if (!disableFocusListener) {\n    childrenProps.onFocus = composeEventHandler(handleFocus, childrenProps.onFocus);\n    childrenProps.onBlur = composeEventHandler(handleBlur, childrenProps.onBlur);\n\n    if (!disableInteractive) {\n      interactiveWrapperListeners.onFocus = handleFocus;\n      interactiveWrapperListeners.onBlur = handleBlur;\n    }\n  }\n\n  if (process.env.NODE_ENV !== 'production') {\n    if (children.props.title) {\n      console.error(['MUI: You have provided a `title` prop to the child of <Tooltip />.', `Remove this title prop \\`${children.props.title}\\` or the Tooltip component.`].join('\\n'));\n    }\n  }\n\n  const popperOptions = React.useMemo(() => {\n    var _PopperProps$popperOp;\n\n    let tooltipModifiers = [{\n      name: 'arrow',\n      enabled: Boolean(arrowRef),\n      options: {\n        element: arrowRef,\n        padding: 4\n      }\n    }];\n\n    if ((_PopperProps$popperOp = PopperProps.popperOptions) != null && _PopperProps$popperOp.modifiers) {\n      tooltipModifiers = tooltipModifiers.concat(PopperProps.popperOptions.modifiers);\n    }\n\n    return _extends({}, PopperProps.popperOptions, {\n      modifiers: tooltipModifiers\n    });\n  }, [arrowRef, PopperProps]);\n\n  const ownerState = _extends({}, props, {\n    isRtl,\n    arrow,\n    disableInteractive,\n    placement,\n    PopperComponentProp,\n    touch: ignoreNonTouchEvents.current\n  });\n\n  const classes = useUtilityClasses(ownerState);\n  const PopperComponent = (_components$Popper = components.Popper) != null ? _components$Popper : TooltipPopper;\n  const TransitionComponent = (_ref = (_components$Transitio = components.Transition) != null ? _components$Transitio : TransitionComponentProp) != null ? _ref : Grow;\n  const TooltipComponent = (_components$Tooltip = components.Tooltip) != null ? _components$Tooltip : TooltipTooltip;\n  const ArrowComponent = (_components$Arrow = components.Arrow) != null ? _components$Arrow : TooltipArrow;\n  const popperProps = appendOwnerState(PopperComponent, _extends({}, PopperProps, componentsProps.popper), ownerState);\n  const transitionProps = appendOwnerState(TransitionComponent, _extends({}, TransitionProps, componentsProps.transition), ownerState);\n  const tooltipProps = appendOwnerState(TooltipComponent, _extends({}, componentsProps.tooltip), ownerState);\n  const tooltipArrowProps = appendOwnerState(ArrowComponent, _extends({}, componentsProps.arrow), ownerState);\n  return /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/React.cloneElement(children, childrenProps), /*#__PURE__*/_jsx(PopperComponent, _extends({\n      as: PopperComponentProp != null ? PopperComponentProp : Popper,\n      placement: placement,\n      anchorEl: followCursor ? {\n        getBoundingClientRect: () => ({\n          top: positionRef.current.y,\n          left: positionRef.current.x,\n          right: positionRef.current.x,\n          bottom: positionRef.current.y,\n          width: 0,\n          height: 0\n        })\n      } : childNode,\n      popperRef: popperRef,\n      open: childNode ? open : false,\n      id: id,\n      transition: true\n    }, interactiveWrapperListeners, popperProps, {\n      className: clsx(classes.popper, PopperProps == null ? void 0 : PopperProps.className, (_componentsProps$popp = componentsProps.popper) == null ? void 0 : _componentsProps$popp.className),\n      popperOptions: popperOptions,\n      children: ({\n        TransitionProps: TransitionPropsInner\n      }) => {\n        var _componentsProps$tool, _componentsProps$arro;\n\n        return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n          timeout: theme.transitions.duration.shorter\n        }, TransitionPropsInner, transitionProps, {\n          children: /*#__PURE__*/_jsxs(TooltipComponent, _extends({}, tooltipProps, {\n            className: clsx(classes.tooltip, (_componentsProps$tool = componentsProps.tooltip) == null ? void 0 : _componentsProps$tool.className),\n            children: [title, arrow ? /*#__PURE__*/_jsx(ArrowComponent, _extends({}, tooltipArrowProps, {\n              className: clsx(classes.arrow, (_componentsProps$arro = componentsProps.arrow) == null ? void 0 : _componentsProps$arro.className),\n              ref: setArrowRef\n            })) : null]\n          }))\n        }));\n      }\n    }))]\n  });\n});\nprocess.env.NODE_ENV !== \"production\" ? Tooltip.propTypes\n/* remove-proptypes */\n= {\n  // ----------------------------- Warning --------------------------------\n  // | These PropTypes are generated from the TypeScript type definitions |\n  // |     To update them edit the d.ts file and run \"yarn proptypes\"     |\n  // ----------------------------------------------------------------------\n\n  /**\n   * If `true`, adds an arrow to the tooltip.\n   * @default false\n   */\n  arrow: PropTypes.bool,\n\n  /**\n   * Tooltip reference element.\n   */\n  children: elementAcceptingRef.isRequired,\n\n  /**\n   * Override or extend the styles applied to the component.\n   */\n  classes: PropTypes.object,\n\n  /**\n   * @ignore\n   */\n  className: PropTypes.string,\n\n  /**\n   * The components used for each slot inside the Tooltip.\n   * Either a string to use a HTML element or a component.\n   * @default {}\n   */\n  components: PropTypes.shape({\n    Arrow: PropTypes.elementType,\n    Popper: PropTypes.elementType,\n    Tooltip: PropTypes.elementType,\n    Transition: PropTypes.elementType\n  }),\n\n  /**\n   * The props used for each slot inside the Tooltip.\n   * Note that `componentsProps.popper` prop values win over `PopperProps`\n   * and `componentsProps.transition` prop values win over `TransitionProps` if both are applied.\n   * @default {}\n   */\n  componentsProps: PropTypes.shape({\n    arrow: PropTypes.object,\n    popper: PropTypes.object,\n    tooltip: PropTypes.object,\n    transition: PropTypes.object\n  }),\n\n  /**\n   * Set to `true` if the `title` acts as an accessible description.\n   * By default the `title` acts as an accessible label for the child.\n   * @default false\n   */\n  describeChild: PropTypes.bool,\n\n  /**\n   * Do not respond to focus-visible events.\n   * @default false\n   */\n  disableFocusListener: PropTypes.bool,\n\n  /**\n   * Do not respond to hover events.\n   * @default false\n   */\n  disableHoverListener: PropTypes.bool,\n\n  /**\n   * Makes a tooltip not interactive, i.e. it will close when the user\n   * hovers over the tooltip before the `leaveDelay` is expired.\n   * @default false\n   */\n  disableInteractive: PropTypes.bool,\n\n  /**\n   * Do not respond to long press touch events.\n   * @default false\n   */\n  disableTouchListener: PropTypes.bool,\n\n  /**\n   * The number of milliseconds to wait before showing the tooltip.\n   * This prop won't impact the enter touch delay (`enterTouchDelay`).\n   * @default 100\n   */\n  enterDelay: PropTypes.number,\n\n  /**\n   * The number of milliseconds to wait before showing the tooltip when one was already recently opened.\n   * @default 0\n   */\n  enterNextDelay: PropTypes.number,\n\n  /**\n   * The number of milliseconds a user must touch the element before showing the tooltip.\n   * @default 700\n   */\n  enterTouchDelay: PropTypes.number,\n\n  /**\n   * If `true`, the tooltip follow the cursor over the wrapped element.\n   * @default false\n   */\n  followCursor: PropTypes.bool,\n\n  /**\n   * This prop is used to help implement the accessibility logic.\n   * If you don't provide this prop. It falls back to a randomly generated id.\n   */\n  id: PropTypes.string,\n\n  /**\n   * The number of milliseconds to wait before hiding the tooltip.\n   * This prop won't impact the leave touch delay (`leaveTouchDelay`).\n   * @default 0\n   */\n  leaveDelay: PropTypes.number,\n\n  /**\n   * The number of milliseconds after the user stops touching an element before hiding the tooltip.\n   * @default 1500\n   */\n  leaveTouchDelay: PropTypes.number,\n\n  /**\n   * Callback fired when the component requests to be closed.\n   *\n   * @param {React.SyntheticEvent} event The event source of the callback.\n   */\n  onClose: PropTypes.func,\n\n  /**\n   * Callback fired when the component requests to be open.\n   *\n   * @param {React.SyntheticEvent} event The event source of the callback.\n   */\n  onOpen: PropTypes.func,\n\n  /**\n   * If `true`, the component is shown.\n   */\n  open: PropTypes.bool,\n\n  /**\n   * Tooltip placement.\n   * @default 'bottom'\n   */\n  placement: PropTypes.oneOf(['bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n\n  /**\n   * The component used for the popper.\n   * @default Popper\n   */\n  PopperComponent: PropTypes.elementType,\n\n  /**\n   * Props applied to the [`Popper`](/material-ui/api/popper/) element.\n   * @default {}\n   */\n  PopperProps: PropTypes.object,\n\n  /**\n   * The system prop that allows defining system overrides as well as additional CSS styles.\n   */\n  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n  /**\n   * Tooltip title. Zero-length titles string, undefined, null and false are never displayed.\n   */\n  title: PropTypes.node,\n\n  /**\n   * The component used for the transition.\n   * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n   * @default Grow\n   */\n  TransitionComponent: PropTypes.elementType,\n\n  /**\n   * Props applied to the transition element.\n   * By default, the element is based on this [`Transition`](http://reactcommunity.org/react-transition-group/transition/) component.\n   */\n  TransitionProps: PropTypes.object\n} : void 0;\nexport default Tooltip;"],"mappings":"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"},"metadata":{},"sourceType":"module"}